import { defHttp } from '/@/utils/http/axios';

// 用户统计API接口
enum Api {
  // 获取订单统计数据（包含用户实名数据）
  getOrderStats = '/dashboard/order/stats',
  // 获取月度订单金额
  getMonthlyOrderAmount = '/dashboard/order/monthlyAmount',
  // 获取年度订单金额
  getYearlyOrderAmount = '/dashboard/order/yearlyAmount',
}

/**
 * 获取订单统计数据（包含用户实名信息）
 * @param params 查询参数
 */
export function getOrderStats(params?: any) {
  return defHttp.get({
    url: Api.getOrderStats,
    params,
  });
}

/**
 * 获取月度订单金额统计
 * @param params 查询参数，包含年月信息
 */
export function getMonthlyOrderAmount(params?: any) {
  return defHttp.get({
    url: Api.getMonthlyOrderAmount,
    params,
  });
}

/**
 * 获取年度订单金额统计
 * @param params 查询参数，包含年份信息
 */
export function getYearlyOrderAmount(params?: any) {
  return defHttp.get({
    url: Api.getYearlyOrderAmount,
    params,
  });
}

// 订单统计数据类型定义
export interface OrderStatsData {
  // 已付款总额 (paid_total_amt)
  paid_total_amt: number;
  // 完结工单总数 (new_over)
  new_over: number;
  // 订单数量 (paid_orders)
  paid_orders: number;
  // 增长率
  growthRate: number;
  // 统计周期
  period: string;
  // 已实名用户数 (verify_count)
  verify_count?: number;
  // 小程序用户总数 (total_count)
  total_count?: number;
  // 实名率百分比 (verify_ratio_percent)
  verify_ratio_percent?: number;
}

// 用户实名统计数据类型定义
export interface UserVerifyStatsData {
  // 已实名用户数
  verify_count: number;
  // 小程序用户总数
  total_count: number;
  // 实名率百分比
  verify_ratio_percent: number;
  // 增长率
  growthRate: number;
  // 统计周期
  period: string;
}
